import { login, logout, getInfo } from '@/api/user'
import { getToken, setToken, removeToken } from '@/utils/auth'
import { resetRouter } from '@/router'


export default {
  // 开启命名空间
  namespaced: true,
  // 定义响应式数据
  state: {
    // 初始化位置优先在本地获取
    token: getToken() ||'',
  },
  // 修改state数据
  mutations: {
    setToken(state, token) {
      // 存入vuex
      state.token = token
      // 存到本地
      setToken(token)
    },
     // 清除token
    delToken(state, token) {
      // 存入vuex
      state.token = ''
      //清除本地token
      removeToken(token)
    }
  },
  // 处理异步
  actions: {
    // 登录
    async fetchLogin(ctx, data) {
      const res = await login(data) 
      console.log(res)
      //提交mutation 函数
      ctx.commit('setToken', res.token)
    },
    // 退出登录
    async fetchLogout(ctx) {
      // 调接口
      await logout()
      // 清除token
      ctx.commit('delToken')
    },
  },

}

